home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-generic / cmpxchg.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  537 b   |  23 lines

  1. #ifndef __ASM_GENERIC_CMPXCHG_H
  2. #define __ASM_GENERIC_CMPXCHG_H
  3.  
  4. /*
  5.  * Generic cmpxchg
  6.  *
  7.  * Uses the local cmpxchg. Does not support SMP.
  8.  */
  9. #ifdef CONFIG_SMP
  10. #error "Cannot use generic cmpxchg on SMP"
  11. #endif
  12.  
  13. /*
  14.  * Atomic compare and exchange.
  15.  *
  16.  * Do not define __HAVE_ARCH_CMPXCHG because we want to use it to check whether
  17.  * a cmpxchg primitive faster than repeated local irq save/restore exists.
  18.  */
  19. #define cmpxchg(ptr, o, n)    cmpxchg_local((ptr), (o), (n))
  20. #define cmpxchg64(ptr, o, n)    cmpxchg64_local((ptr), (o), (n))
  21.  
  22. #endif
  23.